package com.tebiecloud.generator.server.configuration;

import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;

import java.util.Map;

/**
 * 自定义模板引擎
 * @Author: tebie
 * @Date: 2019-08-02 10:40
 */
public class TemplateEngine extends VelocityTemplateEngine {

    /**
     * 将模板转化成为文件
     * @param objectMap 渲染对象 MAP 信息
     * @param templatePath 模板文件
     * @param outputFile 文件生成的目录
     * @throws Exception
     */
    @Override
    public void writer(Map<String, Object> objectMap, String templatePath, String outputFile) throws Exception {
        super.writer(objectMap, templatePath, outputFile);
    }

    /**
     * 模板真实文件路径
     * @param filePath 文件路径
     * @return
     */
    @Override
    public String templateFilePath(String filePath) {
        return super.templateFilePath(filePath);
    }

    /**
     *  渲染对象 MAP 信息
     * @param tableInfo tableInfo 表信息对象
     * @return
     */
    @Override
    public Map<String, Object> getObjectMap(TableInfo tableInfo) {
        Map<String, Object> objectMap = super.getObjectMap(tableInfo);
        objectMap.put("tableNameRemoveUnderline", tableInfo.getName().replace("_", ""));
        return objectMap;
    }

}
